package com.medisoft.managedbean;

import com.medisoft.dao.UsuarioDao;
import com.medisoft.model.Producto;
import com.medisoft.model.Usuario;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import org.primefaces.event.RowEditEvent;

/**
 *
 * @author mmedina
 */
@ManagedBean(name = "usuarioMb")
@ViewScoped
public class UsuarioMb {

    @EJB
    UsuarioDao usuarioDao;

    private Usuario usuario;
    private String b_usuario;
    private List<Usuario> usuarios;

    public UsuarioMb() {
        usuario = new Usuario();
    }

    @PostConstruct
    public void init() {
        usuarios = usuarioDao.getAll();
    }

    public List<Usuario> autoCompleteUsuario(String query) {
        usuarios = usuarioDao.getAutocompleteUsuario(query);
        return usuarios;
    }

    public void onRowEdit(RowEditEvent event) {
        Usuario usuario = ((Usuario) event.getObject());
        usuario.saveIt();
        FacesMessage msg = new FacesMessage("Usuario editado", ((Usuario) event.getObject()).getId().toString());
        FacesContext.getCurrentInstance().addMessage(null, msg);
    }

    public void onRowCancel(RowEditEvent event) {
        FacesMessage msg = new FacesMessage("Edicion Cancelada", ((Usuario) event.getObject()).getId().toString());
        FacesContext.getCurrentInstance().addMessage(null, msg);
    }

    public Usuario getUsuario() {
        return usuario;
    }

    public void setUsuario(Usuario usuario) {
        this.usuario = usuario;
    }

    public String getB_usuario() {
        return b_usuario;
    }

    public void setB_usuario(String b_usuario) {
        this.b_usuario = b_usuario;
    }

    public List<Usuario> getUsuarios() {
        return usuarios;
    }

    public void setUsuarios(List<Usuario> usuarios) {
        this.usuarios = usuarios;
    }

}
